'''
----登录函数----
编写一个用户登录逻辑，用户名密码提前设置（列表嵌套字典存储），返回用户登录成功或者失败的结果。
'''
# user1 = {'id': '1001', 'username': 'zhangsan', 'password': '123'}
# user2 = {'id': '1002', 'username': 'lisi', 'password': '123'}
# user3 = {'id': '1003', 'username': 'wangwu', 'password': '123'}
# user_list = [user1, user2, user3]
# tag = 0
# def assert():
#     """
#     ::return: 返回登录状态，1代表登录成功，0代表登录失败
#     """
#     name = input('请输入你的用户名：')
#     pwd = input('请输入你的密码：')
#     for user in user_list:
#        if name == user['username'] and pwd == user['password']:
#            tag = 1
#            break
#     if tag == 1:
#            return 1
#     else:
#         return 0
# #调用return
# print(assert())

'''
----商超管理系统（容器版）----
项目需求：
系统需要用户先登录，再进行操作，其中包含一下功能菜单：
1.显示商品列表
2.增加商品
3.删除商品
4.设置折扣
5.修改价格
6.按价格排序（升序、降序
7.退出
  a.	使用列表嵌套字典的方式保存用户数据（包含用户名，密码，姓名）；
  b.	使用列表嵌套字典的方式保存商品数据（包含编号，名称，价格，折扣）；
  c.	编写用户登录的函数，返回登录结果；
  d.	循环提示菜单，业务完毕时返回主菜单，退出时回到登陆页面；
  e.	将功能菜单中的业务功能各自编写到函数中；
  f.	用户选择不同业务编号时，调用已经写好的各种函数。
'''
user1 ={'id':'101','password':'123','name':'xiaoming'}
user2 ={'id':'102','password':'123','name':'xiaowang'}
user3 ={'id':'103','password':'123','name':'xiaoli'}
user_list =[user1,user2,user3]
top = 0
# 1,登录
def longin():
    name = input('请输入名称：')
    pwd = input('请输入密码：')
    for user in user_list:
        if name == user['name'] and pwd ==user['password']:
            top = 1
            break
    if top == 1:
         return 1
    else:
        return 0
# print(longin())

# 2,显示列表
p1 ={'id':'1001','name':'米','jg':5,'zk':1}
p2 ={'id':'1002','name':'油','jg':8,'zk':2}
p3 ={'id':'1003','name':'面','jg':3,'zk':1}
sp_list =[p1,p2,p3]

def show_productes():
    print('------------欢迎光临------------')
    print('---商品编号---名称---价格---折扣---')
    for p in sp_list:
        print(f"\t{p['id']},\t{p['name']},\t\t{p['jg']},\t\t{p['zk']}")
    print('------------欢迎光临------------')
# show_productes()

# 3,增加商品
def add_product():
    id = int(input('请输入编号：'))
    name = input('请输入名称：')
    jg = input('请输入价格')
    zk = input('请输入折扣价格')
    sp_list.append({'id': id, 'name': name, 'jg': jg, 'zk': zk})
# add_product()
# print(sp_list)

# 4删除商品

def del_product():
    tlp = 0
    sc = 0
    id = input('请输入商品编号')
    for sc in sp_list:
        if id == sc['id']:
            tlp = 1
            break
    if tlp == 1:
        sp_list.remove(sc)
        print(f'商品编号为{id}的商品已删除')
    else:
        print('id错误，请重新输入')
# del_product()
# print(sp_list)

# 5,设置折扣
def set_discount():
    top = 0
    id = input('请输入要设置折扣的商品编号')
    zk = input('请输入设置的折扣：')
    for ip in sp_list:
        if id == ip['id']:
            top = 1
            break
    if top == 1:
        ip['zk'] = zk
        print(f'编号为{id}的商品折扣已设置为{zk}折')
    else:
        print('id输入错误，请从新输入')
# set_discount()
# 6,修改价格
def mod_goods():
    top = 0
    id = input('请输入要修改商品编号：')
    jg = input('请输入要修改的金额：')
    for ip in sp_list:
        if id == ip['id']:
            top = 1
            break
    if top ==1:
        ip['jg'] =jg
        print(f'修改成功，{id}的价格修改为{jg}元')
    else:
        print('id输入错误')
# mod_goods()
# 7,数据排序
def sort_productes():
    sort = int(input('请选择排列方式1升序，2降序:'))
    if sort==1:
        sp_list.sort(key=lambda x: x['jg'])
    if sort ==2:
        sp_list.sort(key=lambda x: x['jg'],reverse=True)
    else:
        print("输入错误")
    # print(sp_list)
# sort_productes()
# 8,显示列表
def print_menu():
    print('----------欢迎来到超市----------')
    print('1,显示列表')
    print('2,新增')
    print('3,删除')
    print('4,修改折扣')
    print('5,修改价格')
    print('6,排序')
    print('7,退出')
# 8，汇总数量流程
def main_menu():
    r = longin()
    if r == 1:
        while True:
            print_menu()
            choice = int(input('请输入你的选择：'))
            if choice == 1:
                show_productes()
            elif choice == 2:
                add_product()
            elif choice == 3:
                print('正在退出')
            elif choice == 4:
                del_product()
            elif choice == 5:
                set_discount()
            elif choice == 6:
                mod_goods()
            elif choice == 7:
                print('退出成功')
                break
            else:
                print('输入有误，请重新输入')
if __name__ == '__main__':
    main_menu()






